<!Doctype html>
<html>
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
	<meta name="viewport" content="width=device-width, initial-scale=1.0" />
	<title>WeUI 为微信 Web 服务量身设计 | 菜鸟教程</title>

  <meta name='robots' content='max-image-preview:large' />
<link rel='stylesheet' id='classic-theme-styles-css' href='../0/classic-themes.min.css?ver=6.2' type='text/css' media='all' />
<link rel="canonical" href="../w3cnote/weui-for-weixin-web.html" />
<meta name="keywords" content="WeUI 为微信 Web 服务量身设计">
<meta name="description" content="WeUI 为微信 Web 服务量身设计 概述 WeUI是一套同微信原生视觉体验一致的基础样式库，由微信官方设计团队为微信 Web 开发量身设计，可以令用户的使用感知更加统一。包含button、cell、dialog、toast、article、icon等各式元素。  安装  方式一（推荐） 微信官方、Staticfile CDN 和 cdnjs 为 WeUI 提供了 CDN 链接，推荐使用，链接如下：    来源 地址      微信官..">
		
	<link rel="shortcut icon" href="https://static.runoob.com/images/favicon.ico">
	<link rel="stylesheet" href="../0/style.css?v=1.170" type="text/css" media="all" />	
	<link rel="stylesheet" href="../0/font-awesome.min.css" media="all" />	
  <!--[if gte IE 9]><!-->
  <script src=""></script>
  <!--<![endif]-->
  <!--[if lt IE 9]>
     <script src=""></script>
     <script src=""></script>
  <![endif]-->
  <link rel="apple-touch-icon" href="https://static.runoob.com/images/icon/mobile-icon.png"/>
  <meta name="apple-mobile-web-app-title" content="菜鸟教程">
</head>
<body>

<!--  头部 -->
<div class="container logo-search">

  <div class="col search row-search-mobile">
    <form action="index.php">
      <input class="placeholder" placeholder="搜索……" name="s" autocomplete="off">
      
    </form>
  </div>

  <div class="row">
    <div class="col logo">
      <h1><a href="../">菜鸟教程 -- 学的不仅是技术，更是梦想！</a></h1>
    </div>
        <div class="col right-list"> 
    <button class="btn btn-responsive-nav btn-inverse" data-toggle="collapse" data-target=".nav-main-collapse" id="pull" style=""> <i class="fa fa-navicon"></i> </button>
    </div>
        
    <div class="col search search-desktop last">
      <div class="search-input" >
      <form action="//www.runoob.com/" target="_blank">
        <input class="placeholder" id="s" name="s" placeholder="搜索……"  autocomplete="off" style="height: 44px;">
      </form>
      
      </div>
    </div>
  </div>
</div>



<!-- 导航栏 -->
<div class="container navigation">
    <div class="row">
        <div class="col nav">
            

                        <ul class="pc-nav" id="note-nav">
                <li><a href="../">首页</a></li>
                <li><a href="../w3cnote">笔记首页</a></li>
                <li><a href="../w3cnote/android-tutorial-intro.html" title="Android 基础入门教程">Android</a></li>
                <li><a href="../w3cnote/es6-tutorial.html" title="ES6 教程">ES6 教程</a></li>
                <li><a href="../w3cnote/ten-sorting-algorithm.html" title="排序算法">排序算法</a></li>
                <li><a href="../w3cnote/hadoop-tutorial.html" title="Hadoop 教程">Hadoop</a></li>
                <li><a href="../w3cnote/zookeeper-tutorial.html" title="Zookeeper 教程">Zookeeper</a></li>
                <li><a href="../w3cnote/verilog-tutorial.html" title="Verilog 教程">Verilog</a></li>
                <li><a href="../w3cnote_genre/code" title="编程技术">编程技术</a></li> 
                <li><a href="../w3cnote_genre/coderlife" title="程序员人生">程序员人生</a></li>
                
                <!--<li><a href="javascript:;" class="runoob-pop">登录</a></li>
                
                
                        <li>
                <a style="font-weight:bold;" href="../linux/linux-tutorial.html#yunserver" target="_blank" onclick="_hmt.push(['_trackEvent', 'aliyun', 'click', 'aliyun'])" title="kkb">云服务器</a>
                </li>
                <li><a href="http://gk.link/a/104mQ" target="_blank" style="font-weight: bold;"onclick="_hmt.push(['_trackEvent', '极客时间', 'click', 'jike'])" title="我的圈子">极客时间</a></li>
            
                
                <li><a target="_blank" href="../shoppinglist" rel="nofollow">知识店铺</a></li> 
        -->
            </ul>
                        
              
            <ul class="mobile-nav">
                <li><a href="../w3cnote">首页</a></li>
                <li><a href="../w3cnote_genre/android" target="_blank" title="Android 基础入门教程">Android</a></li>
                <li><a href="../w3cnote/es6-tutorial.html" target="_blank" title="ES6 教程">ES6</a></li>
                <li><a href="../w3cnote_genre/joke" target="_blank" title="程序员笑话">逗乐</a></li>
                
                <a href="javascript:void(0)" class="search-reveal">Search</a> 
            </ul>
            
        </div>
    </div>
</div>


<!--  内容  -->
<div class="container main">
	<div class="row">

		<div class="col middle-column big-middle-column">
	 			<div class="article">
			<div class="article-heading">
				<h2>WeUI 为微信 Web 服务量身设计</h2>				<h3><em>分类</em> <a href="../w3cnote_genre/code" title="编程技术" >编程技术</a> </h3>
			</div>
			<div class="article-body note-body">
				<div class="article-intro">
					<h1>WeUI 为微信 Web 服务量身设计</h1>
<h2>概述</h2>
<p>WeUI是一套同微信原生视觉体验一致的基础样式库，由微信官方设计团队为微信 Web 开发量身设计，可以令用户的使用感知更加统一。包含<code>button</code>、<code>cell</code>、<code>dialog</code>、<code>toast</code>、<code>article</code>、<code>icon</code>等各式元素。</p>
<hr>
<h2>安装
</h2>
<h3>方式一（推荐）</h3>
<p>微信官方、Staticfile CDN 和 cdnjs 为 WeUI 提供了 CDN 链接，推荐使用，链接如下：</p>
<table class="reference">
<thead>
<tr>
<th>来源</th>
<th>地址</th>
</tr>
</thead>
<tbody>

<tr>
<td>微信官方</td>
<td><a href="../0/weui.min.css" rel="nofollow">//res.wx.qq.com/open/libs/weui/0.4.3/weui.min.css</a></td>
</tr>
<tr>
<td>Staticfile CDN</td>
<td><a href="../0/weui.css" rel="nofollow">//cdn.staticfile.org/weui/0.4.3/style/weui.css</a></td>
</tr>
<tr>
<td>cdnjs</td>
<td><a href="../0/weui.css" rel="nofollow">//cdnjs.cloudflare.com/ajax/libs/weui/0.4.3/style/weui.css</a></td>
</tr>
</tbody>
</table>
<h3>
方法二：
</h3><p>
使用bower进行安装
<p><pre>
bower install --save weui</pre>
<h3>方法三：</h3>
<p>
使用npm进行安装
<p><pre>
npm install --save weui</pre>
<hr>
<h2>开发</h2>
<pre>
git clone https://github.com/weui/weui.git
cd weui
npm install -g gulp
npm install
gulp -ws
</pre>
<p>运行<code>gulp -ws</code>命令，会监听<code>src</code>目录下所有文件的变更，并且默认会在<code>8080</code>端口启动服务器，然后在浏览器打开 <code>http://localhost:8080/example</code>。</p>
<hr>
<h2>手机预览</h2>
<p>请用微信扫码</p>
<img decoding="async" src="//www.runoob.com/wp-content/uploads/2015/10/2b9c089048cc54005c4cafd28200120a.png">
<p><a href="../try/weui/example/index.html" target="_blank">WEUI 在线实例</a></p>

<hr>
<h2>按钮（Button）</h2>
<p>按钮可以使用<code>a</code>或者<code>button</code>标签。wap上要触发按钮的active态，必须触发ontouchstart事件，可以在<code>body</code>上加上<code>ontouchstart=""</code>全局触发。</p>
<p>按钮常见的操作场景：确定、取消、警示，分别对应class：<code>weui_btn_primary</code>、<code>weui_btn_default</code>、<code>weui_btn_warn</code>，每种场景都有自己的置灰态<code>weui_btn_disabled</code>，除此外还有一种镂空按钮<code>weui_btn_plain_xxx</code>，客户端webview里的按钮尺寸有两类，默认宽度100%，小型按钮宽度自适应，两边边框与文本间距0.75em：</p>

<img decoding="async" src="/try/weui/example/snapshot/button.png">
<pre>
&lt;a href="javascript:;" class="weui_btn weui_btn_primary"&gt;按钮&lt;/a&gt;
&lt;a href="javascript:;" class="weui_btn weui_btn_disabled weui_btn_primary"&gt;按钮&lt;/a&gt;
&lt;a href="javascript:;" class="weui_btn weui_btn_warn"&gt;确认&lt;/a&gt;
&lt;a href="javascript:;" class="weui_btn weui_btn_disabled weui_btn_warn"&gt;确认&lt;/a&gt;
&lt;a href="javascript:;" class="weui_btn weui_btn_default"&gt;按钮&lt;/a&gt;
&lt;a href="javascript:;" class="weui_btn weui_btn_disabled weui_btn_default"&gt;按钮&lt;/a&gt;
&lt;div class="button_sp_area"&gt;
    &lt;a href="javascript:;" class="weui_btn weui_btn_plain_default"&gt;按钮&lt;/a&gt;
    &lt;a href="javascript:;" class="weui_btn weui_btn_plain_primary"&gt;按钮&lt;/a&gt;

    &lt;a href="javascript:;" class="weui_btn weui_btn_mini weui_btn_primary"&gt;按钮&lt;/a&gt;
    &lt;a href="javascript:;" class="weui_btn weui_btn_mini weui_btn_default"&gt;按钮&lt;/a&gt;
&lt;/div&gt;
</pre>
<hr>
<h2>单元格（Cell）</h2>
<p><code>Cell</code>，列表视图，用于将信息以列表的结构显示在页面上，是wap上最常用的内容结构。<code>Cell</code>由多个section组成，每个section包括section header<code>weui_cells_title</code>以及cells<code>weui_cells</code>。</p>
<p><code>cell</code>由thumbnail<code>weui_cell_hd</code>、body<code>weui_cell_bd</code>、accessory<code>weui_cell_ft</code>三部分组成，<code>cell</code>采用自适应布局，在需要自适应的部分加上class<code>weui_cell_primary</code>即可：</p>
<img decoding="async" src="/try/weui/example/snapshot/cell.png">
<p>带说明的列表项</p>
<pre>
&lt;div class="weui_cells_title"&gt;带说明的列表项&lt;/div&gt;
&lt;div class="weui_cells"&gt;
    &lt;div class="weui_cell"&gt;
        &lt;div class="weui_cell_bd weui_cell_primary"&gt;
            &lt;p&gt;标题文字&lt;/p&gt;
        &lt;/div&gt;
        &lt;div class="weui_cell_ft"&gt;
            说明文字
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;
</pre>
<p><code>Cell</code>可根据需要进行各种自定义扩展，包括辅助说明、跳转、单选、复选等。下面以带图标、说明、跳转的列表项，其他情况可以直接参考<code>example</code>下的代码：</p>
<pre>
&lt;div class="weui_cells_title"&gt;带图标、说明、跳转的列表项&lt;/div&gt;
&lt;div class="weui_cells weui_cells_access"&gt;

    &lt;a class="weui_cell" href="javascript:;"&gt;
        &lt;div class="weui_cell_hd"&gt;
            &lt;img decoding="async" src="" alt="icon" style="width:20px;margin-right:5px;display:block"&gt;
        &lt;/div&gt;
        &lt;div class="weui_cell_bd weui_cell_primary"&gt;
            &lt;p&gt;cell standard&lt;/p&gt;
        &lt;/div&gt;
        &lt;div class="weui_cell_ft"&gt;
            说明文字
        &lt;/div&gt;
    &lt;/a&gt;
    &lt;a class="weui_cell" href="javascript:;"&gt;
        &lt;div class="weui_cell_hd"&gt;
            &lt;img decoding="async" src="" alt="icon" style="width:20px;margin-right:5px;display:block"&gt;
        &lt;/div&gt;
        &lt;div class="weui_cell_bd weui_cell_primary"&gt;
            &lt;p&gt;cell standard&lt;/p&gt;
        &lt;/div&gt;
        &lt;div class="weui_cell_ft"&gt;
            说明文字
        &lt;/div&gt;
    &lt;/a&gt;
&lt;/div&gt;
</pre>

<hr>
<h2>对话框（Dialog）</h2>
<p>若系统的alert窗体无法满足网页的临时视图内容需求，则可以自定义实现与alert形式相似的dialog，并且在dialog中可以自定义地使用各种控件，来满足需求。</p>
<img decoding="async" src="/try/weui/example/snapshot/dialog1.png">
<pre>
&lt;div class="weui_dialog_confirm"&gt;
    &lt;div class="weui_mask"&gt;&lt;/div&gt;
    &lt;div class="weui_dialog"&gt;
        &lt;div class="weui_dialog_hd"&gt;&lt;strong class="weui_dialog_title"&gt;弹窗标题&lt;/strong&gt;&lt;/div&gt;
        &lt;div class="weui_dialog_bd"&gt;自定义弹窗内容&lt;br&gt;...&lt;/div&gt;
        &lt;div class="weui_dialog_ft"&gt;
            &lt;a href="javascript:;" class="weui_btn_dialog default"&gt;取消&lt;/a&gt;
            &lt;a href="javascript:;" class="weui_btn_dialog primary"&gt;确定&lt;/a&gt;
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;
</pre>
<img decoding="async" src="/try/weui/example/snapshot/dialog2.png" alt="" style="max-width:100%;">
<pre>
&lt;div class="weui_dialog_alert"&gt;
    &lt;div class="weui_mask"&gt;&lt;/div&gt;
    &lt;div class="weui_dialog"&gt;
        &lt;div class="weui_dialog_hd"&gt;&lt;strong class="weui_dialog_title"&gt;弹窗标题&lt;/strong&gt;&lt;/div&gt;
        &lt;div class="weui_dialog_bd"&gt;弹窗内容，告知当前页面信息等&lt;/div&gt;
        &lt;div class="weui_dialog_ft"&gt;
            &lt;a href="javascript:;" class="weui_btn_dialog primary"&gt;确定&lt;/a&gt;
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;
</pre>
<hr>
<h2>Toast</h2><p>toast用于临时显示某些信息，并且会在数秒后自动消失。这些信息通常是轻量级操作的成功、失败或等待状态信息。</p>
<img decoding="async" src="/try/weui/example/snapshot/toast1.png" alt="" style="max-width:100%;">
<pre>
&lt;div id="toast" style="display: none;"&gt;
    &lt;div class="weui_mask_transparent"&gt;&lt;/div&gt;
    &lt;div class="weui_toast"&gt;
        &lt;i class="weui_icon_toast"&gt;&lt;/i&gt;
        &lt;p class="weui_toast_content"&gt;已完成&lt;/p&gt;
    &lt;/div&gt;
&lt;/div&gt;
</pre>
<img decoding="async" src="/try/weui/example/snapshot/toast2.png" alt="" style="max-width:100%;">
<pre>
&lt;div id="loadingToast" class="weui_loading_toast" style="display:none;"&gt;
    &lt;div class="weui_mask_transparent"&gt;&lt;/div&gt;
    &lt;div class="weui_toast"&gt;
        &lt;div class="weui_loading"&gt;
            &lt;!-- :) --&gt;
            &lt;div class="weui_loading_leaf weui_loading_leaf_0"&gt;&lt;/div&gt;
            &lt;div class="weui_loading_leaf weui_loading_leaf_1"&gt;&lt;/div&gt;
            &lt;div class="weui_loading_leaf weui_loading_leaf_2"&gt;&lt;/div&gt;
            &lt;div class="weui_loading_leaf weui_loading_leaf_3"&gt;&lt;/div&gt;
            &lt;div class="weui_loading_leaf weui_loading_leaf_4"&gt;&lt;/div&gt;
            &lt;div class="weui_loading_leaf weui_loading_leaf_5"&gt;&lt;/div&gt;
            &lt;div class="weui_loading_leaf weui_loading_leaf_6"&gt;&lt;/div&gt;
            &lt;div class="weui_loading_leaf weui_loading_leaf_7"&gt;&lt;/div&gt;
            &lt;div class="weui_loading_leaf weui_loading_leaf_8"&gt;&lt;/div&gt;
            &lt;div class="weui_loading_leaf weui_loading_leaf_9"&gt;&lt;/div&gt;
            &lt;div class="weui_loading_leaf weui_loading_leaf_10"&gt;&lt;/div&gt;
            &lt;div class="weui_loading_leaf weui_loading_leaf_11"&gt;&lt;/div&gt;
        &lt;/div&gt;
        &lt;p class="weui_toast_content"&gt;数据加载中&lt;/p&gt;
    &lt;/div&gt;
&lt;/div&gt;
</pre>
<hr>
<h2>结果页(Msg Page)</p>
<p>结果页通常来说可以认为进行一系列操作步骤后，作为流程结束的总结性页面。结果页的作用主要是告知用户操作处理结果以及必要的相关细节（可用于确认之前的操作是否有误）等信息；若该流程用于开启或关闭某些重要功能，可在结果页增加与该功能相关的描述性内容；除此之外，结果页也可以承载一些附加价值操作，例如提供抽奖、关注公众号等功能入口。</p>

<img decoding="async" src="/try/weui/example/snapshot/result.png" alt="" style="max-width:100%;">
<pre>
&lt;div class="weui_msg"&gt;
    &lt;div class="weui_icon_area"&gt;&lt;i class="weui_icon_success weui_icon_msg"&gt;&lt;/i&gt;&lt;/div&gt;
    &lt;div class="weui_text_area"&gt;
        &lt;h2 class="weui_msg_title"&gt;操作成功&lt;/h2&gt;
        &lt;p class="weui_msg_desc"&gt;内容详情，可根据实际需要安排&lt;/p&gt;
    &lt;/div&gt;
    &lt;div class="weui_opr_area"&gt;
        &lt;p class="weui_btn_area"&gt;
            &lt;a href="javascript:;" class="weui_btn weui_btn_primary"&gt;确定&lt;/a&gt;
            &lt;a href="javascript:;" class="weui_btn weui_btn_default"&gt;取消&lt;/a&gt;
        &lt;/p&gt;
    &lt;/div&gt;
    &lt;div class="weui_extra_area"&gt;
        &lt;a href=""&gt;查看详情&lt;/a&gt;
    &lt;/div&gt;
&lt;/div&gt;
</pre>
<hr>
<h2>文章页</h2>
<p>文字视图显示大段文字，这些文字通常是页面上的主体内容。<code>Article</code>支持分段、多层标题、引用、内嵌图片、有/无序列表等富文本样式，并可响应用户的选择操作。</p>
<p>在微信客户端webview中使用<code>Article</code>，必须保证文字有足够的可读性和可辨识性、使用规范字体、保证足够的段间距、段首无缩进。</p>
<img decoding="async" src="/try/weui/example/snapshot/text.png" alt="" style="max-width:100%;">
<pre>
&lt;article class="weui_article"&gt;
    &lt;h1&gt;大标题&lt;/h1&gt;
    &lt;section&gt;
        &lt;h2 class="title"&gt;章标题&lt;/h2&gt;
        &lt;section&gt;
            &lt;h3&gt;1.1 节标题&lt;/h3&gt;
            &lt;p&gt;Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
                tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
                quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
                consequat. Duis aute&lt;/p&gt;
        &lt;/section&gt;
        &lt;section&gt;
            &lt;h3&gt;1.2 节标题&lt;/h3&gt;
            &lt;p&gt;Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
                tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
                cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
                proident, sunt in culpa qui officia deserunt mollit anim id est laborum.&lt;/p&gt;
        &lt;/section&gt;
    &lt;/section&gt;
&lt;/article&gt;
</pre>
<hr>
<h2>图标</h2>
<img decoding="async" src="/try/weui/example/snapshot/icons.png" alt="" style="max-width:100%;">
<pre>
&lt;i class="weui_icon_msg weui_icon_success"&gt;&lt;/i&gt;
&lt;i class="weui_icon_msg weui_icon_info"&gt;&lt;/i&gt;
&lt;i class="weui_icon_msg weui_icon_warn"&gt;&lt;/i&gt;
&lt;i class="weui_icon_msg weui_icon_waiting"&gt;&lt;/i&gt;
&lt;i class="weui_icon_safe weui_icon_safe_success"&gt;&lt;/i&gt;
&lt;i class="weui_icon_safe weui_icon_safe_warn"&gt;&lt;/i&gt;
&lt;div class="icon_sp_area"&gt;
    &lt;i class="weui_icon_success"&gt;&lt;/i&gt;
    &lt;i class="weui_icon_success_circle"&gt;&lt;/i&gt;
    &lt;i class="weui_icon_success_no_circle"&gt;&lt;/i&gt;
    &lt;i class="weui_icon_info"&gt;&lt;/i&gt;
    &lt;i class="weui_icon_waiting"&gt;&lt;/i&gt;
    &lt;i class="weui_icon_waiting_circle"&gt;&lt;/i&gt;
    &lt;i class="weui_icon_circle"&gt;&lt;/i&gt;
    &lt;i class="weui_icon_warn"&gt;&lt;/i&gt;
    &lt;i class="weui_icon_download"&gt;&lt;/i&gt;
    &lt;i class="weui_icon_info_circle"&gt;&lt;/i&gt;
&lt;/div&gt;
</pre>
<h2>项目下载地址</h2>
<p>Github 地址：<a href="https://github.com/weui/weui">https://github.com/weui/weui</a></p>
<p>本站地址：<a href="http://static.runoob.com/download/weui-master.zip">weui-master.zip</a></p>				</div>
			</div>
			<div class="previous-next-links">
			<div class="previous-design-link">← <a href="../w3cnote/all-vim-cheatsheat.html" rel="prev"> 史上最全Vim快捷键键位图（入门到进阶）</a> </div>
			<div class="next-design-link"><a href="../w3cnote/github-tools.html" rel="next"> GitHub上整理的一些工具</a> →</div>
			</div>
			<style>
.wrapper {
  /*text-transform: uppercase; */
  background: #ececec;
  color: #555;
  cursor: help;
  font-family: "Gill Sans", Impact, sans-serif;
  font-size: 20px;
  position: relative;
  text-align: center;
  width: 200px;
  -webkit-transform: translateZ(0); /* webkit flicker fix */
  -webkit-font-smoothing: antialiased; /* webkit text rendering fix */
}

.wrapper .tooltip {
  white-space: nowrap;
  font-size: 14px;
  text-align: left;
  background: #96b97d;
  bottom: 100%;
  color: #fff;
  display: block;
  left: -25px;
  margin-bottom: 15px;
  opacity: 0;
  padding: 14px;
  pointer-events: none;
  position: absolute;
  
  -webkit-transform: translateY(10px);
     -moz-transform: translateY(10px);
      -ms-transform: translateY(10px);
       -o-transform: translateY(10px);
          transform: translateY(10px);
  -webkit-transition: all .25s ease-out;
     -moz-transition: all .25s ease-out;
      -ms-transition: all .25s ease-out;
       -o-transition: all .25s ease-out;
          transition: all .25s ease-out;
  -webkit-box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.28);
     -moz-box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.28);
      -ms-box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.28);
       -o-box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.28);
          box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.28);
}
.tooltip a {
	color:#fff;
}
/* This bridges the gap so you can mouse into the tooltip without it disappearing */
.wrapper .tooltip:before {
  bottom: -20px;
  content: " ";
  display: block;
  height: 20px;
  left: 0;
  position: absolute;
  width: 100%;
}  

/* CSS Triangles - see Trevor's post */
.wrapper .tooltip:after {
  border-left: solid transparent 10px;
  border-right: solid transparent 10px;
  border-top: solid #96b97d 10px;
  bottom: -10px;
  content: " ";
  height: 0;
  left: 20%;
  margin-left: -13px;
  position: absolute;
  width: 0;
}
.wrapper .tooltip1 {
	margin-left: 50px;
	padding-top: 0px;
}
/*
.wrapper:hover .tooltip {
  opacity: 1;
  pointer-events: auto;
  -webkit-transform: translateY(0px);
     -moz-transform: translateY(0px);
      -ms-transform: translateY(0px);
       -o-transform: translateY(0px);
          transform: translateY(0px);
}
*/
/* IE can just show/hide with no transition */
.lte8 .wrapper .tooltip {
  display: none;
}

.lte8 .wrapper:hover .tooltip {
  display: block;
}

</style>

<link rel="stylesheet" href="../0/upvotejs.css">
<script src=""></script>
<script src=""></script>
<div id="respond" class="no_webshot"> 
		<div class="comment-signarea" style=" padding: 20px 20px;"> 
	<h3 class="text-muted" id="share_code" style="color: #799961;"><i class="fa fa-pencil-square-o" aria-hidden="true"></i> 点我分享笔记</h3>
	<!--
	<p style="font-size:14px;">笔记需要是本篇文章的内容扩展！</p><br>
	<p style="font-size:12px;"><a href="../tougao" target="_blank">文章投稿，可点击这里</a></p>
	<p style="font-size:14px;"><a href="../w3cnote/runoob-user-test-intro.html#invite" target="_blank">注册邀请码获取方式</a></p>
		<h3 class="text-muted"><i class="fa fa-info-circle" aria-hidden="true"></i> 分享笔记前必须<a href="javascript:;" class="runoob-pop">登录</a>！</h3>
		<p><a href="../w3cnote/runoob-user-test-intro.html#invite" target="_blank">注册邀请码获取方式</a></p>-->
	</div>
		
	<form action="/wp-content/themes/runoob/option/addnote.php" method="post" id="commentform" style="display:none;">
		<div class="comt">
			<div class="comt-title">
				<i style="font-size:36px;" class="fa fa-user-circle" aria-hidden="true"></i>				<p><a id="cancel-comment-reply-link" href="javascript:;">取消</a></p>
			</div>
			<div class="comt-box">
			<div id="mded"></div>
			
				<div class="comt-ctrl">
					<div class="comt-tips"><input type='hidden' name='comment_post_ID' value='14374' id='comment_post_ID' />
<input type='hidden' name='comment_parent' id='comment_parent' value='0' />
</div>
					<button type="submit" name="submit" id="submit" tabindex="5"><i class="fa fa-pencil" aria-hidden="true"></i> 分享笔记</button>
				</div>
			</div>
		
				
					<div class="comt-comterinfo"> 
						<ul id="comment-author-info">
							<li class="form-inline"><label class="hide" for="author">昵称</label><input class="ipt" type="text" name="author" id="author" value="" tabindex="2" placeholder="昵称"><span class="text-muted">昵称 (必填)</span></li>
							<li class="form-inline"><label class="hide" for="email">邮箱</label><input class="ipt" type="text" name="email" id="email" value="" tabindex="3" placeholder="邮箱"><span class="text-muted">邮箱 (必填)</span></li>
							<li class="form-inline"><label class="hide" for="url">引用地址</label><input class="ipt" type="text" name="url" id="url" value="" tabindex="4" placeholder="引用地址"><span class="text-muted">引用地址</span></li>
						</ul>
					</div>
				
			
		</div>

	</form>
	</div>
<script type="text/javascript">
$(function() {
	//初始化编辑器
	
	var editor = new Simditor({
	  textarea: $('#mded'),
	  placeholder: '写笔记...',
	  upload:false,
	 // upload: {url:'/api/comment_upload_file.php',params: null,fileKey: 'upload_file',connectionCount: 1,leaveConfirm: '文件正在上传，您确定离开?'},
	  defaultImage: 'https://www.runoob.com/images/logo.png',
	  codeLanguages: '',
	  autosave: 'editor-content',
	  toolbar: [  'bold','code','ul','ol','image' ]
	});
	editor.on('selectionchanged', function() {
		$(".code-popover").hide();
	});

	// 提交数据
	$("#share_code").click(function() {
		$(".comment-signarea").hide();
		$("#commentform").show();
		
	});
	$("#user_add_note").click(function() {
		$(".comment-signarea").hide();
		$("#commentform").show();
		$('html, body').animate({
       	    scrollTop: $("#respond").offset().top
    	}, 200);
	});

	// 提交笔记
	var commentform=$('#commentform');
	commentform.prepend('<div id="comment-status" style="display:none;" ></div>');
	var statusdiv=$('#comment-status');
	
	commentform.submit(function(e){
		e.preventDefault();
		var noteContent = editor.getValue();
		// console.log(noteContent);
		noteContent = noteContent.replace(/<pre><code>/g,"<pre>");
		noteContent = noteContent.replace(/<\/code><\/pre>/g,"</pre>");
		
		// 系列化表单数据
		var comment_parent = 0;
		var is_user_logged_in = $("#is_user_logged_in").val();
		var comment_post_ID =  14374;
		var _wp_unfiltered_html_comment = $("#_wp_unfiltered_html_comment").val();
		var comment = noteContent;
		var author = $("#author").val();
		var url = $("#url").val();
		var email = $("#email").val();
		if(isBlank(author) && is_user_logged_in==0) {
			statusdiv.html('<p  class="ajax-error">请输入昵称！</p>').show();
		} else if(isBlank(email)  && is_user_logged_in==0) {
			statusdiv.html('<p  class="ajax-error">请输入邮箱！</p>').show();
		} else {
			// var formdata=commentform.serialize() + "&comment=" + noteContent ;
			// 添加状态信息
			statusdiv.html('<p>Processing...</p>').show();
			// 获取表单提交地址
			var formurl=commentform.attr('action');
			
			// 异步提交
			$.ajax({
					type: 'post',
					url: formurl,
					dataType:'json',
					data: {"comment_parent":comment_parent,"comment_post_ID":comment_post_ID, "_wp_unfiltered_html_comment":_wp_unfiltered_html_comment,"comment":comment,"url":url, "email":email,"author":author},
					error: function(XMLHttpRequest, textStatus, errorThrown){
					statusdiv.html('<p class="ajax-error" >数据不完整或表单提交太快了！</p>').show();
				},
				success: function(data, textStatus){
					if(data.errorno=="0") {
						$("#submit").prop('disabled', true);
						statusdiv.html('<p class="ajax-success" >笔记已提交审核，感谢分享笔记！</p>').show();
						alert('笔记已提交审核，感谢分享笔记！');
					}else{
						statusdiv.html('<p class="ajax-error" >'+data.msg+'</p>').show();
					}
					commentform.find('textarea[name=comment]').val('');
				}
			});
			setTimeout(function(){
		        $("#submit").prop('disabled', false);
		    }, 10*1000);
		}
		return false;

	});
	$(".comt-author").click(function() {
		href = $(this).children("a").attr("href");
		if(href.indexOf("/note/")!=-1) {
			var win = window.open(href, '_blank');
  			win.focus();
		}
	});
	$(".comt-meta span").hover(function(){
		$(this).children(".tooltip").css({ "opacity": 1, "pointer-events": "auto"});
	},function(){
		$(this).children(".tooltip").removeAttr("style");
	});
	/*
	$(".wrapper i").hover(function(){
		$(this).siblings(".tooltip").css({ "opacity": 1, "pointer-events": "auto"});
	},function(){
		$(this).siblings(".tooltip").css({ "opacity": 0, "pointer-events": "auto"});
	});
	*/
	//Upvote.create('runoobvote-id', {callback: vote_callback});
	var ajaxurl = 'https://www.runoob.com/wp-admin/admin-ajax.php';
	var callback = function(data) {
		//console.log($('#runoobvote-id').upvote('upvoted'));
		//console.log($('#runoobvote-id').upvote('downvoted'));
		//console.log(data);
		_vote_action = data.action;
		id_arr = data.id.split('-');
		um_id= id_arr[2];
		//console.log(um_id);
		
		var re = /^[1-9]+/;
		if (re.test(um_id)) { 
			var ajax_data = {
				_vote_action: _vote_action,
				action: "pinglun_zan",
				um_id: um_id,
				um_action: "ding"
			};
			//console.log(ajax_data);
			$.post(ajaxurl,ajax_data,function(status){
				//if(status.vote_num>999) {
				//	_voteHtml = '<span style="display: block; text-align: center;font-size: 20px; color: #6a737c; margin: 8px 0;">'+kFormatter(status.vote_num) +'</span>';
				//	$("#runoobvote-id-" + um_id + " .count").hide().after(_voteHtml);
				//}
				
			});
		}
	};
	if($('#comments').length && $('.upvotejs').length){
		$('.upvotejs').upvote({id: 14374, callback: callback});
	
		$.post(ajaxurl,{"action":"pinglun_zan","postid":14374},function(data){  
			$(data).each(function(key,value) {
				$("#runoobvote-id-" + value.commid + " .upvote").addClass(value.upvotejs_class);
				$("#runoobvote-id-" + value.commid + " .downvote").addClass(value.downvote_class);
				$("#runoobvote-id-" + value.commid + " .count").text(value.upvote_count);
			})
		},'json');
		
	}
	
	
});
function isBlank(str) {
    return (!str || /^\s*$/.test(str));
}
function kFormatter(num) {
	// return num;
    return Math.abs(num) > 999 ? Math.sign(num)*((Math.abs(num)/1000).toFixed(1)) + 'k' : Math.sign(num)*Math.abs(num)
}

</script>

<link rel="stylesheet" href="../0/qa.css?1.44">
<link rel="stylesheet" type="text/css" href="../0/simditor.min.css" />
<script type="text/javascript" src=""></script>
<script type="text/javascript" src=""></script>
<script type="text/javascript" src=""></script>
<script type="text/javascript" src=""></script>
<script type="text/javascript" src=""></script>
			<div class="article-heading-ad" id="w3cnote-ad728">
			<script async src=""></script>
			<!-- 移动版 自动调整 -->
			<ins class="adsbygoogle"
			     style="display:inline-block;min-width:300px;max-width:970px;width:100%;height:90px"
			     data-ad-client="ca-pub-5751451760833794"
			     data-ad-slot="1691338467"
			     data-ad-format="horizontal"></ins>
			<script>
			(adsbygoogle = window.adsbygoogle || []).push({});
			</script>
			</div>
			<style>
@media screen and (max-width: 768px) {
	#w3cnote-ad728 {
		display: none;
	}
}
p.note-author {
    border-bottom: 1px solid #ddd;
    font-size: 18px;
    font-weight: bold;
    color: #78a15a;
    padding-bottom: 2px;
    margin-bottom: 4px;
}
</style>
<script>
var aid = 14374;
</script>
	</div>
		
	</div>
	<div class="listcol last right-column">




<!--
	<div class="tab tab-light-blue"> 订阅</div>
	<div class="sidebar-box">
		<div class="socialicons">
			<a href="../feed" class="rss">RSS 订阅</a>
		
			<form action="//list.qq.com/cgi-bin/qf_compose_send" method="post">
			<input type="hidden" value="qf_booked_feedback" name="t">
			<input type="hidden" value="4b67b6b6c1f5e792559940cab4aebb8f1126fba880bff1a8" name="id">
			<input class="placeholder" id="feed_email" name="to" value="输入邮箱 订阅笔记" autocomplete="off">
			<input type="submit" value="订阅" class="btn btn-primary">
			</form>
		
		</div>
 
	</div>
-->	



<!--
	<div class="sidebar-box cate-list">
	<div class="sidebar-box recommend-here list-link">
			<a href="javascript:void(0);" style="font-size: 16px; color:#64854c;font-weight:bold;">笔记列表</a>
		</div>

 

</div>
-->

	 <div class="sidebar-box cate-list">
		 		

	 	<div class="sidebar-box recommend-here list-link">
			<a href="javascript:void(0);" style="font-size: 16px; color:#64854c;font-weight:bold;">教程列表</a>
		</div>
		
		<div class="cate-items"> 
				<a href="../ado">ADO 教程</a>
	<a href="../ajax">Ajax 教程</a>
	<a href="../android">Android 教程</a>
	<a href="../angularjs2">Angular2 教程</a>
	<a href="../angularjs">AngularJS 教程</a>
	<a href="../appml">AppML 教程</a>
	<a href="../asp">ASP 教程</a>
	<a href="../aspnet">ASP.NET 教程</a>
	<a href="../bootstrap">Bootstrap 教程</a>
	<a href="../bootstrap4">Bootstrap4 教程</a>
	<a href="../bootstrap5">Bootstrap5 教程</a>
	<a href="../cprogramming">C 教程</a>
	<a href="../csharp">C# 教程</a>
	<a href="../cplusplus">C++ 教程</a>
	<a href="../chartjs">Chart.js 教程</a>
	<a href="../cssref">CSS 参考手册</a>
	<a href="../css">CSS 教程</a>
	<a href="../css3">CSS3 教程</a>
	<a href="../django">Django 教程</a>
	<a href="../docker">Docker 教程</a>
	<a href="../dtd">DTD 教程</a>
	<a href="../echarts">ECharts 教程</a>
	<a href="../eclipse">Eclipse 教程</a>
	<a href="../firebug">Firebug 教程</a>
	<a href="../font-awesome">Font Awesome 图标</a>
	<a href="../foundation">Foundation 教程</a>
	<a href="../git">Git 教程</a>
	<a href="../go">Go 语言教程</a>
	<a href="../googleapi">Google 地图 API 教程</a>
	<a href="../highcharts">Highcharts 教程</a>
	<a href="../htmldom">HTML DOM 教程</a>
	<a href="../tags">HTML 参考手册</a>
	<a href="../charsets">HTML 字符集</a>
	<a href="../html">HTML 教程</a>
	<a href="../http">HTTP 教程</a>
	<a href="../ionic">ionic 教程</a>
	<a href="../ios">iOS 教程</a>
	<a href="../java">Java 教程</a>
	<a href="../jsref">JavaScript 参考手册</a>
	<a href="../js">Javascript 教程</a>
	<a href="../jeasyui">jQuery EasyUI 教程</a>
	<a href="../jquerymobile">jQuery Mobile 教程</a>
	<a href="../jqueryui">jQuery UI 教程</a>
	<a href="../jquery">jQuery 教程</a>
	<a href="../json">JSON 教程</a>
	<a href="../jsp">JSP 教程</a>
	<a href="../julia">Julia 教程</a>
	<a href="../kotlin">Kotlin 教程</a>
	<a href="../linux">Linux 教程</a>
	<a href="../lua">Lua 教程</a>
	<a href="../markdown">Markdown 教程</a>
	<a href="../matplotlib">Matplotlib 教程</a>
	<a href="../maven">Maven 教程</a>
	<a href="../memcached">Memcached 教程</a>
	<a href="../mongodb">MongoDB 教程</a>
	<a href="../mysql">MySQL 教程</a>
	<a href="../nodejs">Node.js 教程</a>
	<a href="../numpy">NumPy 教程</a>
	<a href="../pandas">Pandas 教程</a>
	<a href="../perl">Perl 教程</a>
	<a href="../php">PHP 教程</a>
	<a href="../postgresql">PostgreSQL 教程</a>
	<a href="../python3">Python 3 教程</a>
	<a href="../python">Python 基础教程</a>
	<a href="../r">R 教程</a>
	<a href="../rdf">RDF 教程</a>
	<a href="../react">React 教程</a>
	<a href="../redis">Redis 教程</a>
	<a href="../rss">RSS 教程</a>
	<a href="../ruby">Ruby 教程</a>
	<a href="../rust">Rust 教程</a>
	<a href="../sass">Sass 教程</a>
	<a href="../scala">Scala 教程</a>
	<a href="../scipy">SciPy 教程</a>
	<a href="../servlet">Servlet 教程</a>
	<a href="../soap">SOAP 教程</a>
	<a href="../sql">SQL 教程</a>
	<a href="../sqlite">SQLite 教程</a>
	<a href="../svg">SVG 教程</a>
	<a href="../svn">SVN 教程</a>
	<a href="../swift">Swift 教程</a>
	<a href="../tcpip">TCP/IP 教程</a>
	<a href="../typescript">TypeScript 教程</a>
	<a href="../vbscript">VBScript 教程</a>
	<a href="../vue2">Vue.js 教程</a>
	<a href="../vue3">Vue3 教程</a>
	<a href="../w3c">W3C 教程</a>
	<a href="../webservices">Web Service 教程</a>
	<a href="../wsdl">WSDL 教程</a>
	<a href="../xlink">XLink 教程</a>
	<a href="../dom">XML DOM 教程</a>
	<a href="../schema">XML Schema 教程</a>
	<a href="../xml">XML 教程</a>
	<a href="../xpath">XPath 教程</a>
	<a href="../xquery">XQuery 教程</a>
	<a href="../xslfo">XSLFO 教程</a>
	<a href="../xsl">XSLT 教程</a>
	<a href="../data-structures">数据结构</a>
	<a href="../regexp">正则表达式</a>
	<a href="../quiz">测验</a>
	<a href="../browsers">浏览器</a>
	<a href="../quality">网站品质</a>
	<a href="../web">网站建设指南</a>
	<a href="../hosting">网站服务器教程</a>
	<a href="../design-pattern">设计模式</a>
			
		</div> 
		 	 </div>
</div>
	</div>
</div>


<!-- 底部 -->
<div id="footer" class="mar-t50">
   <div class="runoob-block">
    <div class="runoob cf">
     <dl>
      <dt>
       在线实例
      </dt>
      <dd>
       &middot;<a target="_blank" href="../html/html-examples.html">HTML 实例</a>
      </dd>
      <dd>
       &middot;<a target="_blank" href="../css/css-examples.html">CSS 实例</a>
      </dd>
      <dd>
       &middot;<a target="_blank" href="../js/js-examples.html">JavaScript 实例</a>
      </dd>
      <dd>
       &middot;<a target="_blank" href="../ajx/ajax-examples.html">Ajax 实例</a>
      </dd>
       <dd>
       &middot;<a target="_blank" href="../jquery/jquery-examples.html">jQuery 实例</a>
      </dd>
      <dd>
       &middot;<a target="_blank" href="../xml/xml-examples.html">XML 实例</a>
      </dd>
      <dd>
       &middot;<a target="_blank" href="../java/java-examples.html">Java 实例</a>
      </dd>
     
     </dl>
     <dl>
      <dt>
      字符集&工具
      </dt>
      <dd>
       &middot; <a target="_blank" href="../charsets/html-charsets.html">HTML 字符集设置</a>
      </dd>
      <dd>
       &middot; <a target="_blank" href="../tags/html-ascii.html">HTML ASCII 字符集</a>
      </dd>
     <dd>
       &middot; <a target="_blank" href="https://c.runoob.com/front-end/6939/">JS 混淆/加密</a>
      </dd> 
      <dd>
       &middot; <a target="_blank" href="https://c.runoob.com/front-end/6232/">PNG/JPEG 图片压缩</a>
      </dd>
      <dd>
       &middot; <a target="_blank" href="../tags/html-colorpicker.html">HTML 拾色器</a>
      </dd>
      <dd>
       &middot; <a target="_blank" href="..//c.runoob.com/front-end/53">JSON 格式化工具</a>
      </dd>
      <dd>
       &middot; <a target="_blank" href="..//c.runoob.com/front-end/6680/">随机数生成器</a>
      </dd>
     </dl>
     <dl>
      <dt>
       最新更新
      </dt>
                   <dd>
       &middot;
      <a href="../matplotlib/matplotlib-imread.html" title="Matplotlib imread() 方法">Matplotlib imre...</a>
      </dd>
              <dd>
       &middot;
      <a href="../matplotlib/matplotlib-imsave.html" title="Matplotlib imsave() 方法">Matplotlib imsa...</a>
      </dd>
              <dd>
       &middot;
      <a href="../matplotlib/matplotlib-imshow.html" title="Matplotlib imshow() 方法">Matplotlib imsh...</a>
      </dd>
              <dd>
       &middot;
      <a href="../matplotlib/matplotlib-hist.html" title="Matplotlib 直方图">Matplotlib 直方图</a>
      </dd>
              <dd>
       &middot;
      <a href="../python3/python-func-object.html" title="Python object() 函数">Python object()...</a>
      </dd>
              <dd>
       &middot;
      <a href="../python3/python-ai-draw.html" title="Python AI 绘画">Python AI 绘画</a>
      </dd>
              <dd>
       &middot;
      <a href="../w3cnote/cursor-editor.html" title="神辅助 Cursor 编辑器，加入 GPT-4 让编码更轻松！">神辅助 Cursor ...</a>
      </dd>
             </dl>
     <dl>
      <dt>
       站点信息
      </dt>
      <dd>
       &middot;
       <a target="_blank" href="mailto:admin@runoob.com" rel="external nofollow">意见反馈</a>
       </dd>
      <dd>
       &middot;
      <a target="_blank" href="../disclaimer">免责声明</a>
       </dd>
      <dd>
       &middot;
       <a target="_blank" href="../aboutus">关于我们</a>
       </dd>
      <dd>
       &middot;
      <a target="_blank" href="../archives">文章归档</a>
      </dd>
    
     </dl>
    
     <div class="search-share">
      <div class="app-download">
        <div>
         <strong>关注微信</strong>
        </div>
      </div>
      <div class="share">
      <img width="128" height="128" src="/wp-content/themes/runoob/assets/images/qrcode.png" />
       </div>
     </div>
     
    </div>
   </div>
   <div class="w-1000 copyright">
     Copyright &copy; 2013-2023    <strong><a href="../" target="_blank">菜鸟教程</a></strong>&nbsp;
    <strong><a href="../" target="_blank">runoob.com</a></strong> All Rights Reserved. 备案号：<a target="_blank" rel="nofollow" href="https://beian.miit.gov.cn/">闽ICP备15012807号-1</a>
   </div>
  </div>
  <div class="fixed-btn">
    <a class="go-top" href="javascript:void(0)" title="返回顶部"> <i class="fa fa-angle-up"></i></a>
    <a class="qrcode"  href="javascript:void(0)" title="关注我们"><i class="fa fa-qrcode"></i></a>
    <a class="writer" style="display:none" href="javascript:void(0)"   title="标记/收藏"><i class="fa fa-star" aria-hidden="true"></i></a>
    <!-- qrcode modal -->
    <div id="bottom-qrcode" class="modal panel-modal hide fade in">
      <h4>微信关注</h4>
      <div class="panel-body"><img alt="微信关注" width="128" height="128" src="/wp-content/themes/runoob/assets/images/qrcode.png"></div> 
    </div>
  </div>

 <div style="display:none;">
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-84264393-2"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'UA-84264393-2');
</script>
<script>
var _hmt = _hmt || [];
(function() {
  var hm = document.createElement("script");
  hm.src = "https://hm.baidu.com/hm.js?3eec0b7da6548cf07db3bc477ea905ee";
  var s = document.getElementsByTagName("script")[0]; 
  s.parentNode.insertBefore(hm, s);
})();
</script>

</div>
<script>
window.jsui={
    www: 'https://www.runoob.com',
    uri: 'https://www.runoob.com/wp-content/themes/runoob'
};
</script>

<script src=""></script>
<script src=""></script>

</body>
</html>